﻿// 这个函数接收一个 DotNetObjectReference
export function jsFunctionThatCallsDotNet(dotNetObjectRef) {
    console.log('JS 收到了 .NET 对象引用');

    // 调用 .NET 对象上的方法
    invokeDotNetMethod(dotNetObjectRef);

    // 或者，可以将引用存储起来，稍后调用
    // window.storedDotNetRef = dotNetObjectRef;
}

async function invokeDotNetMethod(dotNetObjectRef) {
    try {
        const result = await dotNetObjectRef.invokeMethodAsync('GreetAsync', 'Hello from JavaScript!');
        console.log('来自 .NET 的回复:', result);

        // 使用完毕后，通知 .NET 释放资源
        // 这会调用 MyDotNetObject 的 DisposeAsync 方法
        dotNetObjectRef.dispose();
    } catch (error) {
        console.error('调用 .NET 方法失败:', error);
    }
}